package com.qingcloud.base.remote.pojo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 数据源
 * </p>
 *
 * @author wangjinnan
 * @since 2021-03-17
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class DsDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;

    /**
     * 数据源名称
     */
    private String name;

    /**
     * 数据源类型 1-数据库
     */
    private Integer type;

    /**
     * 创建时间
     */
    private String createDt;

    /**
     * 项目id
     **/
    private String projectId;

    /**
     * 项目名称
     **/
    private String projectName;

    /**
     * 数据源作业下拉信息对象
     */
    @ApiModel("数据源作业下拉信息对象")
    @Getter
    @Setter
    @ToString
    public static class DsInfoDTO implements Serializable {

        @ApiModelProperty(value = "数据源参数值", example = "")
        private String value;

        @ApiModelProperty(value = "数据源名称", example = "测试数据源")
        private String label;

    }

    /**
     * 数据源全部信息对象
     */
    @ApiModel("数据源全部信息对象")
    @Getter
    @Setter
    @ToString
    public static class DsAllInfoDTO implements Serializable {

        /**
         * 数据源名称
         */
        private String dsName;

        /**
         * 数据源类型 1-数据库
         */
        private Integer dsType;

        /**
         * 数据源类型名称 1-数据库
         */
        private String dsTypeName;

        /**
         * 创建时间
         */
        private String createDtDs;

        /**
         * 项目id
         **/
        private String projectId;

        /**
         * 项目名称
         **/
        private String projectName;

        private Integer dbId;

        /**
         * 数据源的ID
         */
        private Integer dsId;

        /**
         * 数据库类型 1-mysql 2-pgsql 3-oracle 4-sqlserver.
         */
        private Integer dbType;

        /**
         * 数据库类型名称 1-mysql 2-pgsql 3-oracle 4-sqlserver.
         */
        private String dbTypeName;

        /**
         * jdbc_url
         */
        private String jdbcUrl;

        /**
         * 数据库IP
         */
        private String ip;

        /**
         * 数据库端口
         */
        private Integer port;

        /**
         * 用户名
         */
        private String username;

        /**
         * 密码
         */
        private String password;

        /**
         * 创建时间
         */
        private String createDtDb;

        /**
         * 数据库名称
         */
        private String catalog;

    }

}
